<!DOCTYPE html>
<html lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>affine_trans_pixel [HALCON算子参考手册]</title>
<style type="text/css">
      body {
    color: #000000;
    background-color: #ffffff;
    margin: 0;
    font-family: Arial, Helvetica, sans-serif;
}

.body_main {
    margin-left: 35px;
    margin-right: 35px;
}

@media screen and (min-width:992px) {

    .body_main {
        margin-left: 10%;
        margin-right: 10%;
    }

    table.toctable {
        width: 80%
    }
}

@media screen and (min-width:1400px) {

    .body_main {
        margin-left: 15%;
        margin-right: 15%;
    }

    table.toctable {
        width: 70%
    }
}

body>div ul ul {
    margin-left: inherit;
}

a:link {
    color: #0044cc;
}

a:link,
a:visited {
    text-decoration: none;
}

a:link:hover,
a:visited:hover {
    text-decoration: underline;
}

th {
    text-align: left;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    text-rendering: optimizeLegibility;
    color: #666666;
}

code {
    font-family: monospace,monospace;
}

h1 a.halconoperator {
    font-family: Arial, Helvetica, sans-serif;
    color: #666666;
}

h2 a.halconoperator {
    font-family: Arial, Helvetica, sans-serif;
    color: #666666;
}

hr {
    border: 0;
    border-top: solid 1px #f28d26;
}

.pre {
    display: block;
    padding-bottom: 1ex;
    font-family: monospace;
    white-space: pre;
}

pre {
    font-family: monospace, monospace;
    padding: 1ex;
    white-space: pre-wrap;
}

.toc {
    font-size: 80%;
    border-top: 1px dashed #f28d26;
    border-bottom: 1px dashed #f28d26;
    padding-top: 5px;
    padding-bottom: 5px;
}

.inv {
    margin: 0;
    border: 0;
    padding: 0;
}

.banner {
    color: #666666;
    padding-left: 1em;
}

.logo {
    background-color: white;
}

.keyboard {
    font-size: 80%;
    padding-left: 3px;
    padding-right: 3px;
    border-radius: 5px;
    border-width: 1px;
    border-style: solid;
    border-color: #f28d26;
    background-color: #f3f3f3;
}

.warning {
    margin-top: 2ex;
    margin-bottom: 1ex;
    padding: 10px;
    text-align: center;
    border: 1px solid;
    color: #bb0000;
    background-color: #fff7f7
}

.imprint {
    margin-top: 1ex;
    font-size: 80%;
    color: #666666;
}

.imprinthead {
    font-weight: bolder;
    color: #666666;
}

.indexlink {
    text-align: right;
    padding-bottom: 5px;
}

.postscript {
    margin-top: 2ex;
    font-size: 80%;
    color: #666666
}

.evenrow {
    background-color: #e7e7ef;
    vertical-align: top;
}

.oddrow {
    background-color: #f7f7ff;
    vertical-align: top;
}

.headrow {
    background-color: #97979f;
    color: #ffffff;
    vertical-align: top;
}

.logorow {
    vertical-align: top;
}

.error {
    color: red;
}

.var {
    font-style: italic
}

.halconoperator {
    font-family: monospace, monospace;
}

span.operator {
    font-family: monospace, monospace;
}

span.procedure {
    font-family: monospace, monospace;
}

span.operation {
    font-family: monospace, monospace;
}

span.feature {
    font-family: Arial, Helvetica, Homerton, sans-serif;
}

ul {
    padding-left: 1.2em;
}

li.dot {
    list-style-type: square;
    color: #f28d26;
}

.breadcrumb {
    font-size: 80%;
    color: white;
    background-color: #062d64;
    margin-bottom: 20px;
    padding-left: 35px;
    padding-right: 35px;
    padding-bottom: 15px;
}

.webbar {
    font-size: 80%;
    background-color: #dddddd;
    margin-top: 0px;
    margin-left: -35px;
    margin-right: -35px;
    margin-bottom: 0px;
    padding-top: 5px;
    padding-left: 35px;
    padding-right: 35px;
    padding-bottom: 5px;
}

.footer {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    border-top: 1px dashed #f28d26;
    font-size: 80%;
    color: #666666;
    padding-bottom: 8px;
}

.footer .socialmedia a {
    padding-left: 7px;
}

.socialmedia {
    padding-top: 10px;
}

.copyright {
    margin-top: 19px;
}

.breadcrumb a {
    color: #ffffff;
    border-bottom: 1px solid white;
}

.breadcrumb a:link:hover,
.breadcrumb a:visited:hover {
    text-decoration: none;
    border-bottom: none;
}

.heading {
    margin-top: 1ex;
    font-size: 110%;
    font-weight: bold;
    color: #666666;
}

.text {
    color: black;
}

.example {
    font-size: 80%;
    background-color: #f3f3f3;
    border: 1px dashed #666666;
    padding: 10px;
}

.displaymath {
    display: block;
    text-align: center;
    margin-top: 1ex;
    margin-bottom: 1ex;
}

.title {
    float: left;
    padding-top: 3px;
    padding-bottom: 3px;
}

.signnote {
    font-family: Arial, Helvetica, Homerton, sans-serif;
    font-size: 80%;
    color: #666666;
    font-weight: lighter;
    font-style: italic
}

.par {
    margin-bottom: 1.5em;
}

.parhead {
    text-align: right;
}

.parname {
    float: left;
}

.pardesc {
    font-size: 85%;
    margin-top: 0.5em;
    margin-bottom: 0.5em;
    margin-left: 2em;
}

.parcat {
    color: #666;
    font-weight: bold;
}

*[data-if=cpp],
*[data-if=c],
*[data-if=dotnet],
*[data-if=com],
*[data-if=python] {
    display: none;
}

.tabbar {
    text-align: right;
    border-bottom: 1px solid #f28d26;
    margin-bottom: 0.5em;
}

ul.tabs {
    padding-top: 3px;
    padding-bottom: 3px;
    margin-top: 10px;
    margin-bottom: 0;
    font-size: 80%
}

ul.tabs li {
    padding-top: 3px;
    padding-bottom: 3px;
    display: inline;
    overflow: hidden;
    list-style-type: none;
    margin: 0;
    margin-left: 8px;
    border-top: 1px solid #666;
    border-left: 1px solid #666;
    border-right: 1px solid #666;
}

ul.tabs li.active {
    border-left: 1px solid #f28d26;
    border-right: 1px solid #f28d26;
    border-top: 1px solid #f28d26;
    border-bottom: 1px solid #fff;
}

ul.tabs li.inactive {
    background-color: #eee;
}

ul.tabs li a {
    padding-left: 5px;
    padding-right: 5px;
    color: #666;
}

ul.tabs li a:link:hover {
    text-decoration: none;
}

ul.tabs li.inactive a {
    color: #666;
}

ul.tabs li.active a {
    color: black;
}

dl.generic dd {
    margin-bottom: 1em;
}

.pari {
    color: olive;
}

.paro {
    color: maroon;
}

.comment {
    font-size: 80%;
    color: green;
    white-space: nowrap;
}

table.grid {
    border-collapse: collapse;
}

table.grid td {
    padding: 5px;
    border: 1px solid;
}

table.layout {
    border: 0px;
}

table.layout td {
    padding: 5px;
}

table.table {
    border-collapse: collapse;
}

table.table td {
    padding: 5px;
    border-left: 0px;
    border-right: 0px;
}

table.table tr:last-child {
    border-bottom: 1px solid;
}

table.table th {
    padding: 5px;
    border-top: 1px solid;
    border-bottom: 1px solid;
    border-left: 0px;
    border-right: 0px;
}

.details_summary {
    cursor: pointer;
}

table.toctable {
    width: 100%;
}

table.toctable col:first-child {
    width: 20%;
}

table.toctable col:nth-last-child(2) {
    width: 8%;
}

table.altcolored tr:nth-child(even) {
    background-color: #f3f3f3;
}

    </style>
<!--OP_REF_STYLE_END-->
<script>
    <!--
var active_lang='hdevelop';function switchVisibility(obj,active_lang,new_lang)
{var display_style='inline';
for(var i=0;i<obj.length;i++)
{if(obj.item(i).getAttribute('data-if')==new_lang)
{obj.item(i).style.display=display_style;}
if(obj.item(i).getAttribute('data-if')==active_lang)
{obj.item(i).style.display='none';}}
return;}
function toggleLanguage(new_lang,initial)
{if(active_lang!=new_lang)
{var lis=document.getElementsByTagName('li');for(var i=0;i<lis.length;i++)
{if(lis.item(i).id=='syn-'+new_lang)
{lis.item(i).className='active';}
else
{lis.item(i).className='inactive';}}
var divs=document.getElementsByTagName('div');var spans=document.getElementsByTagName('span');switchVisibility(divs,active_lang,new_lang);switchVisibility(spans,active_lang,new_lang);if(!initial)
{setCookie("halcon_reference_language",new_lang,null,null);}
active_lang=new_lang;}
return;}
function setCookie(name,value,domain,exp_offset,path,secure)
{localStorage.setItem(name,value);}
function getCookie(name)
{return localStorage.getItem(name);}
function initialize()
{var qs=location.href.split('?')[1];var qs_lang_raw=location.href.split('interface=')[1];var qs_lang;if(qs_lang_raw)
{qs_lang=qs_lang_raw.split('#')[0];}
var cookie_lang=getCookie("halcon_reference_language");var new_lang;if((qs_lang=="hdevelop")||(qs_lang=="dotnet")||(qs_lang=="python")||(qs_lang=="cpp")||(qs_lang=="c"))
{new_lang=qs_lang;setCookie("halcon_reference_language",new_lang,null,null);}
else if((cookie_lang=="hdevelop")||(cookie_lang=="dotnet")||(cookie_lang=="python")||(cookie_lang=="cpp")||(cookie_lang=="c"))
{new_lang=cookie_lang;}
else
{new_lang="hdevelop";}
toggleLanguage(new_lang,1);return;}
-->

  </script>
</head>
<body onload="initialize();">
<div class="breadcrumb">
<br class="inv"><a href="index.html">目录</a> / <a href="toc_transformations.html">变换</a> / <a href="toc_transformations_2dtransformations.html">2D Transformations</a><br class="inv">
</div>
<div class="body_main">
<div class="tabbar"><ul class="tabs">
<li id="syn-hdevelop" class="active"><a href="javascript:void(0);" onclick="toggleLanguage('hdevelop')" onfocus="blur()">HDevelop</a></li>
<li id="syn-dotnet" class="inactive"><a href="javascript:void(0);" onclick="toggleLanguage('dotnet')" onfocus="blur()">.NET</a></li>
<li id="syn-python" class="inactive"><a href="javascript:void(0);" onclick="toggleLanguage('python')" onfocus="blur()">Python</a></li>
<li id="syn-cpp" class="inactive"><a href="javascript:void(0);" onclick="toggleLanguage('cpp')" onfocus="blur()">C++</a></li>
<li id="syn-c" class="inactive"><a href="javascript:void(0);" onclick="toggleLanguage('c')" onfocus="blur()">C</a></li>
</ul></div>
<div class="indexlink">
<a href="index_classes.html"><span data-if="dotnet" style="display:none;">类别</span><span data-if="cpp" style="display:none;">类别</span></a><span data-if="dotnet" style="display:none;"> | </span><span data-if="cpp" style="display:none;"> | </span><a href="index_by_name.html">算子列表</a>
</div>
<!--OP_REF_HEADER_END-->
<h1 id="sec_name">
<span data-if="hdevelop" style="display:inline;">affine_trans_pixel</span><span data-if="c" style="display:none;">T_affine_trans_pixel</span><span data-if="cpp" style="display:none;">AffineTransPixel</span><span data-if="dotnet" style="display:none;">AffineTransPixel</span><span data-if="python" style="display:none;">affine_trans_pixel</span> (算子名称)</h1>
<h2>名称</h2>
<p><code><span data-if="hdevelop" style="display:inline;">affine_trans_pixel</span><span data-if="c" style="display:none;">T_affine_trans_pixel</span><span data-if="cpp" style="display:none;">AffineTransPixel</span><span data-if="dotnet" style="display:none;">AffineTransPixel</span><span data-if="python" style="display:none;">affine_trans_pixel</span></code> — Apply an arbitrary affine 2D transformation to pixel coordinates.</p>
<h2 id="sec_synopsis">参数签名</h2>
<div data-if="hdevelop" style="display:inline;">
<p>
<code><b>affine_trans_pixel</b>( :  : <a href="#HomMat2D"><i>HomMat2D</i></a>, <a href="#Row"><i>Row</i></a>, <a href="#Col"><i>Col</i></a> : <a href="#RowTrans"><i>RowTrans</i></a>, <a href="#ColTrans"><i>ColTrans</i></a>)</code></p>
</div>
<div data-if="c" style="display:none;">
<p>
<code>Herror <b>T_affine_trans_pixel</b>(const Htuple <a href="#HomMat2D"><i>HomMat2D</i></a>, const Htuple <a href="#Row"><i>Row</i></a>, const Htuple <a href="#Col"><i>Col</i></a>, Htuple* <a href="#RowTrans"><i>RowTrans</i></a>, Htuple* <a href="#ColTrans"><i>ColTrans</i></a>)</code></p>
</div>
<div data-if="cpp" style="display:none;">
<p>
<code>void <b>AffineTransPixel</b>(const HTuple&amp; <a href="#HomMat2D"><i>HomMat2D</i></a>, const HTuple&amp; <a href="#Row"><i>Row</i></a>, const HTuple&amp; <a href="#Col"><i>Col</i></a>, HTuple* <a href="#RowTrans"><i>RowTrans</i></a>, HTuple* <a href="#ColTrans"><i>ColTrans</i></a>)</code></p>
<p>
<code>void <a href="HHomMat2D.html">HHomMat2D</a>::<b>AffineTransPixel</b>(const HTuple&amp; <a href="#Row"><i>Row</i></a>, const HTuple&amp; <a href="#Col"><i>Col</i></a>, HTuple* <a href="#RowTrans"><i>RowTrans</i></a>, HTuple* <a href="#ColTrans"><i>ColTrans</i></a>) const</code></p>
<p>
<code>void <a href="HHomMat2D.html">HHomMat2D</a>::<b>AffineTransPixel</b>(double <a href="#Row"><i>Row</i></a>, double <a href="#Col"><i>Col</i></a>, double* <a href="#RowTrans"><i>RowTrans</i></a>, double* <a href="#ColTrans"><i>ColTrans</i></a>) const</code></p>
</div>
<div data-if="com" style="display:none;"></div>
<div data-if="dotnet" style="display:none;">
<p>
<code>static void <a href="HOperatorSet.html">HOperatorSet</a>.<b>AffineTransPixel</b>(<a href="HTuple.html">HTuple</a> <a href="#HomMat2D"><i>homMat2D</i></a>, <a href="HTuple.html">HTuple</a> <a href="#Row"><i>row</i></a>, <a href="HTuple.html">HTuple</a> <a href="#Col"><i>col</i></a>, out <a href="HTuple.html">HTuple</a> <a href="#RowTrans"><i>rowTrans</i></a>, out <a href="HTuple.html">HTuple</a> <a href="#ColTrans"><i>colTrans</i></a>)</code></p>
<p>
<code>void <a href="HHomMat2D.html">HHomMat2D</a>.<b>AffineTransPixel</b>(<a href="HTuple.html">HTuple</a> <a href="#Row"><i>row</i></a>, <a href="HTuple.html">HTuple</a> <a href="#Col"><i>col</i></a>, out <a href="HTuple.html">HTuple</a> <a href="#RowTrans"><i>rowTrans</i></a>, out <a href="HTuple.html">HTuple</a> <a href="#ColTrans"><i>colTrans</i></a>)</code></p>
<p>
<code>void <a href="HHomMat2D.html">HHomMat2D</a>.<b>AffineTransPixel</b>(double <a href="#Row"><i>row</i></a>, double <a href="#Col"><i>col</i></a>, out double <a href="#RowTrans"><i>rowTrans</i></a>, out double <a href="#ColTrans"><i>colTrans</i></a>)</code></p>
</div>
<div data-if="python" style="display:none;">
<p>
<code>def <b>affine_trans_pixel</b>(<a href="#HomMat2D"><i>hom_mat_2d</i></a>: Sequence[float], <a href="#Row"><i>row</i></a>: MaybeSequence[Union[float, int]], <a href="#Col"><i>col</i></a>: MaybeSequence[Union[float, int]]) -&gt; Tuple[Sequence[float], Sequence[float]]</code></p>
<p>
<code>def <b>affine_trans_pixel_s</b>(<a href="#HomMat2D"><i>hom_mat_2d</i></a>: Sequence[float], <a href="#Row"><i>row</i></a>: MaybeSequence[Union[float, int]], <a href="#Col"><i>col</i></a>: MaybeSequence[Union[float, int]]) -&gt; Tuple[float, float]</code></p>
</div>
<h2 id="sec_description">描述</h2>
<p><code><span data-if="hdevelop" style="display:inline">affine_trans_pixel</span><span data-if="c" style="display:none">affine_trans_pixel</span><span data-if="cpp" style="display:none">AffineTransPixel</span><span data-if="com" style="display:none">AffineTransPixel</span><span data-if="dotnet" style="display:none">AffineTransPixel</span><span data-if="python" style="display:none">affine_trans_pixel</span></code> applies an arbitrary affine 2D transformation,
i.e., scaling, rotation, translation, and slant (skewing), to the input
pixels (<a href="#Row"><i><code><span data-if="hdevelop" style="display:inline">Row</span><span data-if="c" style="display:none">Row</span><span data-if="cpp" style="display:none">Row</span><span data-if="com" style="display:none">Row</span><span data-if="dotnet" style="display:none">row</span><span data-if="python" style="display:none">row</span></code></i></a>,<a href="#Col"><i><code><span data-if="hdevelop" style="display:inline">Col</span><span data-if="c" style="display:none">Col</span><span data-if="cpp" style="display:none">Col</span><span data-if="com" style="display:none">Col</span><span data-if="dotnet" style="display:none">col</span><span data-if="python" style="display:none">col</span></code></i></a>) and returns the resulting pixels in
(<a href="#RowTrans"><i><code><span data-if="hdevelop" style="display:inline">RowTrans</span><span data-if="c" style="display:none">RowTrans</span><span data-if="cpp" style="display:none">RowTrans</span><span data-if="com" style="display:none">RowTrans</span><span data-if="dotnet" style="display:none">rowTrans</span><span data-if="python" style="display:none">row_trans</span></code></i></a>,<a href="#ColTrans"><i><code><span data-if="hdevelop" style="display:inline">ColTrans</span><span data-if="c" style="display:none">ColTrans</span><span data-if="cpp" style="display:none">ColTrans</span><span data-if="com" style="display:none">ColTrans</span><span data-if="dotnet" style="display:none">colTrans</span><span data-if="python" style="display:none">col_trans</span></code></i></a>); the input and output pixels are
subpixel precise coordinates. The affine transformation is described by the
homogeneous transformation matrix given in <a href="#HomMat2D"><i><code><span data-if="hdevelop" style="display:inline">HomMat2D</span><span data-if="c" style="display:none">HomMat2D</span><span data-if="cpp" style="display:none">HomMat2D</span><span data-if="com" style="display:none">HomMat2D</span><span data-if="dotnet" style="display:none">homMat2D</span><span data-if="python" style="display:none">hom_mat_2d</span></code></i></a>.
</p>
<p>In contrast to <a href="affine_trans_point_2d.html"><code><span data-if="hdevelop" style="display:inline">affine_trans_point_2d</span><span data-if="c" style="display:none">affine_trans_point_2d</span><span data-if="cpp" style="display:none">AffineTransPoint2d</span><span data-if="com" style="display:none">AffineTransPoint2d</span><span data-if="dotnet" style="display:none">AffineTransPoint2d</span><span data-if="python" style="display:none">affine_trans_point_2d</span></code></a>, <code><span data-if="hdevelop" style="display:inline">affine_trans_pixel</span><span data-if="c" style="display:none">affine_trans_pixel</span><span data-if="cpp" style="display:none">AffineTransPixel</span><span data-if="com" style="display:none">AffineTransPixel</span><span data-if="dotnet" style="display:none">AffineTransPixel</span><span data-if="python" style="display:none">affine_trans_pixel</span></code>
first converts the input coordinates from HALCON's standard coordinate
system (with the origin in the center of the upper left pixel) to a coordinate
system with the origin in the upper left corner of the upper left pixel. After
the transformation with <a href="#HomMat2D"><i><code><span data-if="hdevelop" style="display:inline">HomMat2D</span><span data-if="c" style="display:none">HomMat2D</span><span data-if="cpp" style="display:none">HomMat2D</span><span data-if="com" style="display:none">HomMat2D</span><span data-if="dotnet" style="display:none">homMat2D</span><span data-if="python" style="display:none">hom_mat_2d</span></code></i></a> the result is converted back to
the standard coordinate system.
This way, <code><span data-if="hdevelop" style="display:inline">affine_trans_pixel</span><span data-if="c" style="display:none">affine_trans_pixel</span><span data-if="cpp" style="display:none">AffineTransPixel</span><span data-if="com" style="display:none">AffineTransPixel</span><span data-if="dotnet" style="display:none">AffineTransPixel</span><span data-if="python" style="display:none">affine_trans_pixel</span></code> is compatible with
<a href="affine_trans_image.html"><code><span data-if="hdevelop" style="display:inline">affine_trans_image</span><span data-if="c" style="display:none">affine_trans_image</span><span data-if="cpp" style="display:none">AffineTransImage</span><span data-if="com" style="display:none">AffineTransImage</span><span data-if="dotnet" style="display:none">AffineTransImage</span><span data-if="python" style="display:none">affine_trans_image</span></code></a>, <a href="affine_trans_image_size.html"><code><span data-if="hdevelop" style="display:inline">affine_trans_image_size</span><span data-if="c" style="display:none">affine_trans_image_size</span><span data-if="cpp" style="display:none">AffineTransImageSize</span><span data-if="com" style="display:none">AffineTransImageSize</span><span data-if="dotnet" style="display:none">AffineTransImageSize</span><span data-if="python" style="display:none">affine_trans_image_size</span></code></a>,
<a href="affine_trans_region.html"><code><span data-if="hdevelop" style="display:inline">affine_trans_region</span><span data-if="c" style="display:none">affine_trans_region</span><span data-if="cpp" style="display:none">AffineTransRegion</span><span data-if="com" style="display:none">AffineTransRegion</span><span data-if="dotnet" style="display:none">AffineTransRegion</span><span data-if="python" style="display:none">affine_trans_region</span></code></a>, <a href="affine_trans_contour_xld.html"><code><span data-if="hdevelop" style="display:inline">affine_trans_contour_xld</span><span data-if="c" style="display:none">affine_trans_contour_xld</span><span data-if="cpp" style="display:none">AffineTransContourXld</span><span data-if="com" style="display:none">AffineTransContourXld</span><span data-if="dotnet" style="display:none">AffineTransContourXld</span><span data-if="python" style="display:none">affine_trans_contour_xld</span></code></a>, and
<a href="affine_trans_polygon_xld.html"><code><span data-if="hdevelop" style="display:inline">affine_trans_polygon_xld</span><span data-if="c" style="display:none">affine_trans_polygon_xld</span><span data-if="cpp" style="display:none">AffineTransPolygonXld</span><span data-if="com" style="display:none">AffineTransPolygonXld</span><span data-if="dotnet" style="display:none">AffineTransPolygonXld</span><span data-if="python" style="display:none">affine_trans_polygon_xld</span></code></a>.
</p>
<p>Applying <code><span data-if="hdevelop" style="display:inline">affine_trans_pixel</span><span data-if="c" style="display:none">affine_trans_pixel</span><span data-if="cpp" style="display:none">AffineTransPixel</span><span data-if="com" style="display:none">AffineTransPixel</span><span data-if="dotnet" style="display:none">AffineTransPixel</span><span data-if="python" style="display:none">affine_trans_pixel</span></code> corresponds to the following chain of
transformations (input and output pixels as homogeneous vectors):
</p>
<p><span title="1" class="displaymath"><!-- Created by MetaPost 1.902 on 2023.05.15:2033 --><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="35.3707em" height="3.86096em" viewBox="0 0 565.931107 61.775421">
<!-- Original BoundingBox: -282.965561 -30.887711 282.965546 30.887711 -->
  <defs>
    <g transform="scale(0.009963,0.009963)" id="GLYPHpcrr8r_50">
      <path style="fill-rule: evenodd;" d="M123.000000 -41.000000L123.000000 -44.000000C180.000000 -92.000000,243.000000 -151.000000,330.000000 -237.000000C454.000000 -358.000000,474.000000 -387.000000,474.000000 -446.000000C474.000000 -537.000000,388.000000 -618.000000,290.000000 -618.000000C229.000000 -618.000000,173.000000 -590.000000,136.000000 -542.000000C117.000000 -518.000000,104.000000 -488.000000,104.000000 -470.000000C104.000000 -461.000000,113.000000 -452.000000,123.000000 -452.000000C134.000000 -452.000000,140.000000 -458.000000,144.000000 -472.000000C160.000000 -532.000000,222.000000 -577.000000,290.000000 -577.000000C366.000000 -577.000000,433.000000 -516.000000,433.000000 -447.000000C433.000000 -402.000000,414.000000 -374.000000,320.000000 -282.000000C245.000000 -208.000000,165.000000 -133.000000,84.000000 -60.000000L84.000000 -0.000000L478.000000 -0.000000L478.000000 -77.000000C478.000000 -95.000000,471.000000 -104.000000,458.000000 -104.000000C444.000000 -104.000000,437.000000 -95.000000,437.000000 -77.000000L437.000000 -41.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHpcrr8r_67">
      <path style="fill-rule: evenodd;" d="M478.000000 -507.000000C431.000000 -552.000000,371.000000 -576.000000,305.000000 -576.000000C238.000000 -576.000000,179.000000 -550.000000,134.000000 -502.000000C91.000000 -456.000000,63.000000 -386.000000,63.000000 -325.000000L63.000000 -242.000000C63.000000 -107.000000,186.000000 16.000000,322.000000 16.000000C386.000000 16.000000,447.000000 -9.000000,496.000000 -55.000000C522.000000 -79.000000,534.000000 -96.000000,534.000000 -106.000000C534.000000 -117.000000,526.000000 -125.000000,514.000000 -125.000000C507.000000 -125.000000,503.000000 -123.000000,496.000000 -115.000000C442.000000 -51.000000,391.000000 -25.000000,322.000000 -25.000000C204.000000 -25.000000,104.000000 -128.000000,104.000000 -248.000000L104.000000 -319.000000C104.000000 -438.000000,194.000000 -535.000000,305.000000 -535.000000C394.000000 -535.000000,474.000000 -482.000000,478.000000 -421.000000C479.000000 -405.000000,486.000000 -397.000000,498.000000 -397.000000C512.000000 -397.000000,519.000000 -406.000000,519.000000 -424.000000L519.000000 -536.000000C519.000000 -554.000000,512.000000 -563.000000,499.000000 -563.000000C485.000000 -563.000000,478.000000 -554.000000,478.000000 -536.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHpcrr8r_68">
      <path style="fill-rule: evenodd;" d="M104.000000 -41.000000L70.000000 -41.000000C52.000000 -41.000000,43.000000 -34.000000,43.000000 -21.000000C43.000000 -7.000000,52.000000 -0.000000,70.000000 -0.000000L290.000000 -0.000000C419.000000 -0.000000,520.000000 -112.000000,520.000000 -254.000000L520.000000 -310.000000C520.000000 -451.000000,419.000000 -563.000000,290.000000 -563.000000L70.000000 -563.000000C52.000000 -563.000000,43.000000 -556.000000,43.000000 -543.000000C43.000000 -529.000000,52.000000 -522.000000,70.000000 -522.000000L104.000000 -522.000000M145.000000 -41.000000L145.000000 -522.000000L288.000000 -522.000000C342.000000 -522.000000,379.000000 -507.000000,414.000000 -472.000000C454.000000 -431.000000,479.000000 -371.000000,479.000000 -318.000000L479.000000 -245.000000C479.000000 -139.000000,391.000000 -41.000000,295.000000 -41.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHpcrr8r_72">
      <path style="fill-rule: evenodd;" d="M437.000000 -272.000000L437.000000 -41.000000L383.000000 -41.000000C365.000000 -41.000000,356.000000 -34.000000,356.000000 -21.000000C356.000000 -7.000000,365.000000 -0.000000,383.000000 -0.000000L524.000000 -0.000000C541.000000 -0.000000,551.000000 -7.000000,551.000000 -21.000000C551.000000 -34.000000,542.000000 -41.000000,524.000000 -41.000000L478.000000 -41.000000L478.000000 -522.000000L503.000000 -522.000000C521.000000 -522.000000,530.000000 -529.000000,530.000000 -543.000000C530.000000 -556.000000,521.000000 -563.000000,503.000000 -563.000000L383.000000 -563.000000C365.000000 -563.000000,356.000000 -556.000000,356.000000 -543.000000C356.000000 -529.000000,365.000000 -522.000000,383.000000 -522.000000L437.000000 -522.000000L437.000000 -313.000000L167.000000 -313.000000L167.000000 -522.000000L221.000000 -522.000000C239.000000 -522.000000,248.000000 -529.000000,248.000000 -543.000000C248.000000 -556.000000,239.000000 -563.000000,221.000000 -563.000000L101.000000 -563.000000C83.000000 -563.000000,74.000000 -556.000000,74.000000 -543.000000C74.000000 -529.000000,83.000000 -522.000000,101.000000 -522.000000L126.000000 -522.000000L126.000000 -41.000000L81.000000 -41.000000C62.000000 -41.000000,53.000000 -34.000000,53.000000 -21.000000C53.000000 -7.000000,63.000000 -0.000000,81.000000 -0.000000L221.000000 -0.000000C239.000000 -0.000000,248.000000 -7.000000,248.000000 -21.000000C248.000000 -34.000000,239.000000 -41.000000,221.000000 -41.000000L167.000000 -41.000000L167.000000 -272.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHpcrr8r_77">
      <path style="fill-rule: evenodd;" d="M326.000000 -169.000000L483.000000 -522.000000L491.000000 -522.000000L491.000000 -41.000000L417.000000 -41.000000C399.000000 -41.000000,390.000000 -34.000000,390.000000 -21.000000C390.000000 -7.000000,399.000000 -0.000000,417.000000 -0.000000L566.000000 -0.000000C584.000000 -0.000000,593.000000 -7.000000,593.000000 -21.000000C593.000000 -34.000000,584.000000 -41.000000,566.000000 -41.000000L532.000000 -41.000000L532.000000 -522.000000L557.000000 -522.000000C575.000000 -522.000000,584.000000 -529.000000,584.000000 -543.000000C584.000000 -556.000000,575.000000 -563.000000,557.000000 -563.000000L457.000000 -563.000000L303.000000 -215.000000L146.000000 -563.000000L47.000000 -563.000000C29.000000 -563.000000,20.000000 -556.000000,20.000000 -543.000000C20.000000 -529.000000,29.000000 -522.000000,47.000000 -522.000000L72.000000 -522.000000L72.000000 -41.000000L38.000000 -41.000000C20.000000 -41.000000,11.000000 -34.000000,11.000000 -21.000000C11.000000 -7.000000,20.000000 -0.000000,38.000000 -0.000000L187.000000 -0.000000C205.000000 -0.000000,215.000000 -7.000000,215.000000 -21.000000C215.000000 -34.000000,206.000000 -41.000000,187.000000 -41.000000L113.000000 -41.000000L113.000000 -522.000000L121.000000 -522.000000L280.000000 -169.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHpcrr8r_82">
      <path style="fill-rule: evenodd;" d="M165.000000 -251.000000L297.000000 -251.000000C373.000000 -216.000000,417.000000 -162.000000,505.000000 -0.000000L562.000000 -0.000000C580.000000 -0.000000,589.000000 -7.000000,589.000000 -21.000000C589.000000 -34.000000,580.000000 -41.000000,562.000000 -41.000000L531.000000 -41.000000C450.000000 -182.000000,422.000000 -219.000000,359.000000 -262.000000C452.000000 -294.000000,498.000000 -342.000000,498.000000 -407.000000C498.000000 -491.000000,415.000000 -563.000000,318.000000 -563.000000L70.000000 -563.000000C52.000000 -563.000000,43.000000 -556.000000,43.000000 -543.000000C43.000000 -529.000000,52.000000 -522.000000,70.000000 -522.000000L124.000000 -522.000000L124.000000 -41.000000L70.000000 -41.000000C52.000000 -41.000000,43.000000 -34.000000,43.000000 -21.000000C43.000000 -7.000000,52.000000 -0.000000,70.000000 -0.000000L240.000000 -0.000000C258.000000 -0.000000,267.000000 -7.000000,267.000000 -21.000000C267.000000 -34.000000,258.000000 -41.000000,240.000000 -41.000000L165.000000 -41.000000M165.000000 -292.000000L165.000000 -522.000000L318.000000 -522.000000C390.000000 -522.000000,457.000000 -468.000000,457.000000 -408.000000C457.000000 -344.000000,377.000000 -292.000000,279.000000 -292.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHpcrr8r_84">
      <path style="fill-rule: evenodd;" d="M321.000000 -41.000000L321.000000 -522.000000L487.000000 -522.000000L487.000000 -449.000000C487.000000 -433.000000,496.000000 -422.000000,508.000000 -422.000000C522.000000 -422.000000,528.000000 -430.000000,528.000000 -449.000000L528.000000 -563.000000L72.000000 -563.000000L72.000000 -449.000000C72.000000 -431.000000,79.000000 -422.000000,92.000000 -422.000000C106.000000 -422.000000,113.000000 -431.000000,113.000000 -449.000000L113.000000 -522.000000L280.000000 -522.000000L280.000000 -41.000000L175.000000 -41.000000C157.000000 -41.000000,148.000000 -34.000000,148.000000 -21.000000C148.000000 -7.000000,157.000000 -0.000000,175.000000 -0.000000L426.000000 -0.000000C444.000000 -0.000000,453.000000 -7.000000,453.000000 -21.000000C453.000000 -34.000000,444.000000 -41.000000,426.000000 -41.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHpcrr8r_97">
      <path style="fill-rule: evenodd;" d="M419.000000 -0.000000L514.000000 -0.000000C532.000000 -0.000000,541.000000 -7.000000,541.000000 -21.000000C541.000000 -34.000000,532.000000 -41.000000,514.000000 -41.000000L460.000000 -41.000000L460.000000 -308.000000C460.000000 -379.000000,392.000000 -431.000000,299.000000 -431.000000C262.000000 -431.000000,197.000000 -418.000000,142.000000 -399.000000C131.000000 -395.000000,125.000000 -388.000000,125.000000 -378.000000C125.000000 -367.000000,134.000000 -358.000000,144.000000 -358.000000C146.000000 -358.000000,150.000000 -359.000000,154.000000 -360.000000C232.000000 -384.000000,260.000000 -390.000000,296.000000 -390.000000C369.000000 -390.000000,419.000000 -357.000000,419.000000 -308.000000L419.000000 -237.000000C360.000000 -253.000000,329.000000 -258.000000,283.000000 -258.000000C158.000000 -258.000000,72.000000 -199.000000,72.000000 -112.000000C72.000000 -36.000000,135.000000 16.000000,228.000000 16.000000C298.000000 16.000000,358.000000 -10.000000,419.000000 -67.000000M419.000000 -112.000000C352.000000 -49.000000,298.000000 -25.000000,227.000000 -25.000000C158.000000 -25.000000,113.000000 -59.000000,113.000000 -111.000000C113.000000 -174.000000,185.000000 -217.000000,291.000000 -217.000000C335.000000 -217.000000,383.000000 -211.000000,419.000000 -202.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHpcrr8r_108">
      <path style="fill-rule: evenodd;" d="M320.000000 -604.000000L162.000000 -604.000000C144.000000 -604.000000,135.000000 -597.000000,135.000000 -584.000000C135.000000 -570.000000,144.000000 -563.000000,162.000000 -563.000000L279.000000 -563.000000L279.000000 -41.000000L119.000000 -41.000000C101.000000 -41.000000,92.000000 -34.000000,92.000000 -21.000000C92.000000 -7.000000,101.000000 -0.000000,119.000000 -0.000000L480.000000 -0.000000C498.000000 -0.000000,508.000000 -7.000000,508.000000 -21.000000C508.000000 -34.000000,499.000000 -41.000000,480.000000 -41.000000L320.000000 -41.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHpcrr8r_109">
      <path style="fill-rule: evenodd;" d="M112.000000 -417.000000L38.000000 -417.000000C20.000000 -417.000000,11.000000 -410.000000,11.000000 -397.000000C11.000000 -383.000000,20.000000 -376.000000,38.000000 -376.000000L72.000000 -376.000000L72.000000 -41.000000L38.000000 -41.000000C20.000000 -41.000000,11.000000 -34.000000,11.000000 -21.000000C11.000000 -7.000000,20.000000 -0.000000,37.000000 -0.000000L146.000000 -0.000000C163.000000 -0.000000,173.000000 -7.000000,173.000000 -21.000000C173.000000 -34.000000,164.000000 -41.000000,146.000000 -41.000000L112.000000 -41.000000L112.000000 -308.000000C150.000000 -365.000000,182.000000 -390.000000,217.000000 -390.000000C251.000000 -390.000000,282.000000 -355.000000,282.000000 -316.000000L282.000000 -0.000000L356.000000 -0.000000C374.000000 -0.000000,383.000000 -7.000000,383.000000 -21.000000C383.000000 -34.000000,374.000000 -41.000000,356.000000 -41.000000L322.000000 -41.000000L322.000000 -308.000000C360.000000 -366.000000,390.000000 -390.000000,426.000000 -390.000000C461.000000 -390.000000,492.000000 -357.000000,492.000000 -319.000000L492.000000 -0.000000L566.000000 -0.000000C584.000000 -0.000000,593.000000 -7.000000,593.000000 -21.000000C593.000000 -34.000000,584.000000 -41.000000,566.000000 -41.000000L532.000000 -41.000000L532.000000 -323.000000C532.000000 -382.000000,485.000000 -431.000000,427.000000 -431.000000C386.000000 -431.000000,353.000000 -410.000000,314.000000 -360.000000C292.000000 -408.000000,260.000000 -431.000000,217.000000 -431.000000C175.000000 -431.000000,146.000000 -413.000000,112.000000 -365.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHpcrr8r_110">
      <path style="fill-rule: evenodd;" d="M167.000000 -417.000000L92.000000 -417.000000C74.000000 -417.000000,65.000000 -410.000000,65.000000 -397.000000C65.000000 -383.000000,74.000000 -376.000000,92.000000 -376.000000L126.000000 -376.000000L126.000000 -41.000000L81.000000 -41.000000C62.000000 -41.000000,53.000000 -34.000000,53.000000 -21.000000C53.000000 -7.000000,62.000000 -0.000000,81.000000 -0.000000L212.000000 -0.000000C230.000000 -0.000000,239.000000 -7.000000,239.000000 -21.000000C239.000000 -34.000000,230.000000 -41.000000,212.000000 -41.000000L167.000000 -41.000000L167.000000 -294.000000C199.000000 -335.000000,209.000000 -346.000000,224.000000 -357.000000C252.000000 -380.000000,281.000000 -390.000000,319.000000 -390.000000C358.000000 -390.000000,377.000000 -384.000000,401.000000 -364.000000C426.000000 -343.000000,439.000000 -318.000000,439.000000 -288.000000L439.000000 -41.000000L405.000000 -41.000000C387.000000 -41.000000,378.000000 -34.000000,378.000000 -21.000000C378.000000 -7.000000,387.000000 -0.000000,405.000000 -0.000000L514.000000 -0.000000C532.000000 -0.000000,541.000000 -7.000000,541.000000 -21.000000C541.000000 -34.000000,532.000000 -41.000000,514.000000 -41.000000L480.000000 -41.000000L480.000000 -295.000000C480.000000 -372.000000,412.000000 -431.000000,323.000000 -431.000000C261.000000 -431.000000,225.000000 -412.000000,167.000000 -348.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHpcrr8r_111">
      <path style="fill-rule: evenodd;" d="M300.000000 -431.000000C173.000000 -431.000000,72.000000 -331.000000,72.000000 -208.000000C72.000000 -83.000000,173.000000 16.000000,300.000000 16.000000C426.000000 16.000000,528.000000 -83.000000,528.000000 -205.000000C528.000000 -332.000000,428.000000 -431.000000,300.000000 -431.000000M300.000000 -390.000000C405.000000 -390.000000,487.000000 -310.000000,487.000000 -205.000000C487.000000 -106.000000,403.000000 -25.000000,300.000000 -25.000000C196.000000 -25.000000,113.000000 -106.000000,113.000000 -208.000000C113.000000 -309.000000,196.000000 -390.000000,300.000000 -390.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHpcrr8r_114">
      <path style="fill-rule: evenodd;" d="M248.000000 -417.000000L132.000000 -417.000000C115.000000 -417.000000,105.000000 -409.000000,105.000000 -397.000000C105.000000 -384.000000,115.000000 -376.000000,132.000000 -376.000000L207.000000 -376.000000L207.000000 -41.000000L111.000000 -41.000000C94.000000 -41.000000,84.000000 -33.000000,84.000000 -21.000000C84.000000 -8.000000,94.000000 -0.000000,111.000000 -0.000000L427.000000 -0.000000C444.000000 -0.000000,454.000000 -8.000000,454.000000 -20.000000C454.000000 -33.000000,444.000000 -41.000000,427.000000 -41.000000L248.000000 -41.000000L248.000000 -262.000000C358.000000 -363.000000,393.000000 -386.000000,438.000000 -386.000000C460.000000 -386.000000,480.000000 -375.000000,504.000000 -352.000000C511.000000 -345.000000,513.000000 -344.000000,520.000000 -344.000000C532.000000 -344.000000,541.000000 -353.000000,541.000000 -365.000000C541.000000 -374.000000,535.000000 -382.000000,518.000000 -396.000000C492.000000 -418.000000,470.000000 -427.000000,441.000000 -427.000000C390.000000 -427.000000,341.000000 -399.000000,248.000000 -315.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHpcrr8r_115">
      <path style="fill-rule: evenodd;" d="M432.000000 -385.000000C397.000000 -416.000000,352.000000 -431.000000,295.000000 -431.000000C197.000000 -431.000000,124.000000 -383.000000,124.000000 -318.000000C124.000000 -287.000000,142.000000 -257.000000,170.000000 -239.000000C198.000000 -222.000000,226.000000 -215.000000,300.000000 -207.000000C355.000000 -201.000000,382.000000 -194.000000,408.000000 -180.000000C435.000000 -165.000000,452.000000 -140.000000,452.000000 -117.000000C452.000000 -64.000000,386.000000 -25.000000,298.000000 -25.000000C213.000000 -25.000000,144.000000 -62.000000,144.000000 -108.000000L144.000000 -115.000000C144.000000 -128.000000,136.000000 -137.000000,124.000000 -137.000000C110.000000 -137.000000,103.000000 -128.000000,103.000000 -110.000000L103.000000 -27.000000C103.000000 -9.000000,110.000000 -0.000000,124.000000 -0.000000C137.000000 -0.000000,144.000000 -9.000000,144.000000 -27.000000L144.000000 -38.000000C186.000000 -1.000000,236.000000 16.000000,301.000000 16.000000C414.000000 16.000000,497.000000 -40.000000,497.000000 -116.000000C497.000000 -151.000000,478.000000 -185.000000,447.000000 -206.000000C415.000000 -227.000000,378.000000 -238.000000,317.000000 -245.000000C229.000000 -254.000000,223.000000 -256.000000,201.000000 -270.000000C180.000000 -282.000000,169.000000 -299.000000,169.000000 -315.000000C169.000000 -358.000000,225.000000 -390.000000,299.000000 -390.000000C375.000000 -390.000000,427.000000 -361.000000,432.000000 -316.000000C434.000000 -300.000000,441.000000 -293.000000,453.000000 -293.000000C466.000000 -293.000000,473.000000 -302.000000,473.000000 -320.000000L473.000000 -389.000000C473.000000 -408.000000,466.000000 -417.000000,453.000000 -417.000000C440.000000 -417.000000,432.000000 -406.000000,432.000000 -389.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHpcrr8r_116">
      <path style="fill-rule: evenodd;" d="M186.000000 -417.000000L186.000000 -536.000000C186.000000 -555.000000,180.000000 -563.000000,166.000000 -563.000000C152.000000 -563.000000,145.000000 -554.000000,145.000000 -536.000000L145.000000 -417.000000L71.000000 -417.000000C52.000000 -417.000000,43.000000 -410.000000,43.000000 -397.000000C43.000000 -383.000000,52.000000 -376.000000,71.000000 -376.000000L145.000000 -376.000000L145.000000 -107.000000C145.000000 -32.000000,206.000000 16.000000,300.000000 16.000000C385.000000 16.000000,499.000000 -22.000000,499.000000 -51.000000C499.000000 -61.000000,490.000000 -71.000000,480.000000 -71.000000C475.000000 -71.000000,472.000000 -70.000000,464.000000 -65.000000C425.000000 -42.000000,354.000000 -25.000000,298.000000 -25.000000C229.000000 -25.000000,186.000000 -58.000000,186.000000 -109.000000L186.000000 -376.000000L406.000000 -376.000000C424.000000 -376.000000,433.000000 -383.000000,433.000000 -397.000000C433.000000 -410.000000,424.000000 -417.000000,406.000000 -417.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHpcrr8r_119">
      <path style="fill-rule: evenodd;" d="M441.000000 -0.000000L524.000000 -376.000000L543.000000 -376.000000C561.000000 -376.000000,570.000000 -383.000000,570.000000 -397.000000C570.000000 -410.000000,561.000000 -417.000000,543.000000 -417.000000L432.000000 -417.000000C414.000000 -417.000000,405.000000 -410.000000,405.000000 -397.000000C405.000000 -383.000000,414.000000 -376.000000,432.000000 -376.000000L482.000000 -376.000000L413.000000 -56.000000L324.000000 -311.000000L273.000000 -311.000000L187.000000 -56.000000L115.000000 -376.000000L168.000000 -376.000000C186.000000 -376.000000,195.000000 -383.000000,195.000000 -397.000000C195.000000 -410.000000,186.000000 -417.000000,168.000000 -417.000000L57.000000 -417.000000C39.000000 -417.000000,30.000000 -410.000000,30.000000 -397.000000C30.000000 -383.000000,39.000000 -376.000000,57.000000 -376.000000L76.000000 -376.000000L160.000000 -0.000000L211.000000 -0.000000L300.000000 -259.000000L391.000000 -0.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmr10_43">
      <path style="fill-rule: evenodd;" d="M409.000000 -230.000000L688.000000 -230.000000C702.000000 -230.000000,721.000000 -230.000000,721.000000 -250.000000C721.000000 -270.000000,702.000000 -270.000000,688.000000 -270.000000L409.000000 -270.000000L409.000000 -550.000000C409.000000 -564.000000,409.000000 -583.000000,389.000000 -583.000000C369.000000 -583.000000,369.000000 -564.000000,369.000000 -550.000000L369.000000 -270.000000L89.000000 -270.000000C75.000000 -270.000000,56.000000 -270.000000,56.000000 -250.000000C56.000000 -230.000000,75.000000 -230.000000,89.000000 -230.000000L369.000000 -230.000000L369.000000 50.000000C369.000000 64.000000,369.000000 83.000000,389.000000 83.000000C409.000000 83.000000,409.000000 64.000000,409.000000 50.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmr10_48">
      <path style="fill-rule: evenodd;" d="M460.000000 -320.000000C460.000000 -400.000000,455.000000 -480.000000,420.000000 -554.000000C374.000000 -650.000000,292.000000 -666.000000,250.000000 -666.000000C190.000000 -666.000000,117.000000 -640.000000,76.000000 -547.000000C44.000000 -478.000000,39.000000 -400.000000,39.000000 -320.000000C39.000000 -245.000000,43.000000 -155.000000,84.000000 -79.000000C127.000000 2.000000,200.000000 22.000000,249.000000 22.000000C303.000000 22.000000,379.000000 1.000000,423.000000 -94.000000C455.000000 -163.000000,460.000000 -241.000000,460.000000 -320.000000M249.000000 -0.000000C210.000000 -0.000000,151.000000 -25.000000,133.000000 -121.000000C122.000000 -181.000000,122.000000 -273.000000,122.000000 -332.000000C122.000000 -396.000000,122.000000 -462.000000,130.000000 -516.000000C149.000000 -635.000000,224.000000 -644.000000,249.000000 -644.000000C282.000000 -644.000000,348.000000 -626.000000,367.000000 -527.000000C377.000000 -471.000000,377.000000 -395.000000,377.000000 -332.000000C377.000000 -257.000000,377.000000 -189.000000,366.000000 -125.000000C351.000000 -30.000000,294.000000 -0.000000,249.000000 -0.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmr10_49">
      <path style="fill-rule: evenodd;" d="M294.000000 -640.000000C294.000000 -664.000000,294.000000 -666.000000,271.000000 -666.000000C209.000000 -602.000000,121.000000 -602.000000,89.000000 -602.000000L89.000000 -571.000000C109.000000 -571.000000,168.000000 -571.000000,220.000000 -597.000000L220.000000 -79.000000C220.000000 -43.000000,217.000000 -31.000000,127.000000 -31.000000L95.000000 -31.000000L95.000000 -0.000000L257.000000 -0.000000L130.000000 -3.000000L217.000000 -3.000000L257.000000 -3.000000L297.000000 -3.000000L384.000000 -3.000000L419.000000 -0.000000L419.000000 -31.000000L387.000000 -31.000000C297.000000 -31.000000,294.000000 -42.000000,294.000000 -79.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmr10_53">
      <path style="fill-rule: evenodd;" d="M449.000000 -201.000000C449.000000 -320.000000,367.000000 -420.000000,259.000000 -420.000000C211.000000 -420.000000,168.000000 -404.000000,132.000000 -369.000000L132.000000 -564.000000C152.000000 -558.000000,185.000000 -551.000000,217.000000 -551.000000C340.000000 -551.000000,410.000000 -642.000000,410.000000 -655.000000C410.000000 -661.000000,407.000000 -666.000000,400.000000 -666.000000C399.000000 -666.000000,397.000000 -666.000000,392.000000 -663.000000C372.000000 -654.000000,323.000000 -634.000000,256.000000 -634.000000C216.000000 -634.000000,170.000000 -641.000000,123.000000 -662.000000C115.000000 -665.000000,113.000000 -665.000000,111.000000 -665.000000C101.000000 -665.000000,101.000000 -657.000000,101.000000 -641.000000L101.000000 -345.000000C101.000000 -327.000000,101.000000 -319.000000,115.000000 -319.000000C122.000000 -319.000000,124.000000 -322.000000,128.000000 -328.000000C139.000000 -344.000000,176.000000 -398.000000,257.000000 -398.000000C309.000000 -398.000000,334.000000 -352.000000,342.000000 -334.000000C358.000000 -297.000000,360.000000 -258.000000,360.000000 -208.000000C360.000000 -173.000000,360.000000 -113.000000,336.000000 -71.000000C312.000000 -32.000000,275.000000 -6.000000,229.000000 -6.000000C156.000000 -6.000000,99.000000 -59.000000,82.000000 -118.000000C85.000000 -117.000000,88.000000 -116.000000,99.000000 -116.000000C132.000000 -116.000000,149.000000 -141.000000,149.000000 -165.000000C149.000000 -189.000000,132.000000 -214.000000,99.000000 -214.000000C85.000000 -214.000000,50.000000 -207.000000,50.000000 -161.000000C50.000000 -75.000000,119.000000 22.000000,231.000000 22.000000C347.000000 22.000000,449.000000 -74.000000,449.000000 -201.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmr10_61">
      <path style="fill-rule: evenodd;" d="M687.000000 -327.000000C702.000000 -327.000000,721.000000 -327.000000,721.000000 -347.000000C721.000000 -367.000000,702.000000 -367.000000,688.000000 -367.000000L89.000000 -367.000000C75.000000 -367.000000,56.000000 -367.000000,56.000000 -347.000000C56.000000 -327.000000,75.000000 -327.000000,90.000000 -327.000000M688.000000 -133.000000C702.000000 -133.000000,721.000000 -133.000000,721.000000 -153.000000C721.000000 -173.000000,702.000000 -173.000000,687.000000 -173.000000L90.000000 -173.000000C75.000000 -173.000000,56.000000 -173.000000,56.000000 -153.000000C56.000000 -133.000000,75.000000 -133.000000,89.000000 -133.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmsy10_0">
      <path style="fill-rule: evenodd;" d="M659.000000 -230.000000C676.000000 -230.000000,694.000000 -230.000000,694.000000 -250.000000C694.000000 -270.000000,676.000000 -270.000000,659.000000 -270.000000L118.000000 -270.000000C101.000000 -270.000000,83.000000 -270.000000,83.000000 -250.000000C83.000000 -230.000000,101.000000 -230.000000,118.000000 -230.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmsy10_1">
      <path style="fill-rule: evenodd;" d="M192.000000 -250.000000C192.000000 -279.000000,168.000000 -303.000000,139.000000 -303.000000C110.000000 -303.000000,86.000000 -279.000000,86.000000 -250.000000C86.000000 -221.000000,110.000000 -197.000000,139.000000 -197.000000C168.000000 -197.000000,192.000000 -221.000000,192.000000 -250.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmmi10_58">
      <path style="fill-rule: evenodd;" d="M192.000000 -53.000000C192.000000 -82.000000,168.000000 -106.000000,139.000000 -106.000000C110.000000 -106.000000,86.000000 -82.000000,86.000000 -53.000000C86.000000 -24.000000,110.000000 -0.000000,139.000000 -0.000000C168.000000 -0.000000,192.000000 -24.000000,192.000000 -53.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmex10_48">
      <path style="fill-rule: evenodd;" d="M374.000000 1770.000000C396.000000 1770.000000,402.000000 1770.000000,402.000000 1756.000000C404.000000 1055.000000,485.000000 473.000000,835.000000 -16.000000C842.000000 -25.000000,842.000000 -27.000000,842.000000 -29.000000C842.000000 -39.000000,835.000000 -39.000000,819.000000 -39.000000C803.000000 -39.000000,801.000000 -39.000000,799.000000 -37.000000C795.000000 -34.000000,668.000000 112.000000,567.000000 313.000000C435.000000 577.000000,352.000000 880.000000,315.000000 1244.000000C312.000000 1275.000000,291.000000 1483.000000,291.000000 1720.000000L291.000000 1759.000000C292.000000 1770.000000,298.000000 1770.000000,319.000000 1770.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmex10_49">
      <path style="fill-rule: evenodd;" d="M583.000000 1720.000000C583.000000 1109.000000,474.000000 751.000000,443.000000 650.000000C375.000000 428.000000,264.000000 194.000000,97.000000 -12.000000C82.000000 -30.000000,78.000000 -35.000000,74.000000 -37.000000C72.000000 -38.000000,71.000000 -39.000000,55.000000 -39.000000C40.000000 -39.000000,32.000000 -39.000000,32.000000 -29.000000C32.000000 -27.000000,32.000000 -25.000000,45.000000 -7.000000C393.000000 479.000000,471.000000 1079.000000,472.000000 1756.000000C472.000000 1770.000000,478.000000 1770.000000,500.000000 1770.000000L555.000000 1770.000000C576.000000 1770.000000,582.000000 1770.000000,583.000000 1759.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmex10_50">
      <path style="fill-rule: evenodd;" d="M326.000000 1760.000000L395.000000 1760.000000L395.000000 30.000000L659.000000 30.000000L659.000000 -39.000000L326.000000 -39.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmex10_51">
      <path style="fill-rule: evenodd;" d="M271.000000 1760.000000L340.000000 1760.000000L340.000000 -39.000000L7.000000 -39.000000L7.000000 30.000000L271.000000 30.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmex10_52">
      <path style="fill-rule: evenodd;" d="M326.000000 1759.000000L659.000000 1759.000000L659.000000 1690.000000L395.000000 1690.000000L395.000000 -40.000000L326.000000 -40.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmex10_53">
      <path style="fill-rule: evenodd;" d="M271.000000 1690.000000L7.000000 1690.000000L7.000000 1759.000000L340.000000 1759.000000L340.000000 -40.000000L271.000000 -40.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmex10_64">
      <path style="fill-rule: evenodd;" d="M319.000000 -50.000000C298.000000 -50.000000,292.000000 -50.000000,291.000000 -39.000000L291.000000 -0.000000C291.000000 611.000000,400.000000 969.000000,431.000000 1070.000000C499.000000 1292.000000,610.000000 1526.000000,777.000000 1732.000000C792.000000 1750.000000,796.000000 1755.000000,800.000000 1757.000000C802.000000 1758.000000,803.000000 1759.000000,819.000000 1759.000000C835.000000 1759.000000,842.000000 1759.000000,842.000000 1749.000000C842.000000 1747.000000,842.000000 1745.000000,836.000000 1736.000000C503.000000 1274.000000,403.000000 718.000000,402.000000 -36.000000C402.000000 -50.000000,396.000000 -50.000000,374.000000 -50.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmex10_65">
      <path style="fill-rule: evenodd;" d="M583.000000 -39.000000C582.000000 -50.000000,576.000000 -50.000000,555.000000 -50.000000L500.000000 -50.000000C478.000000 -50.000000,472.000000 -50.000000,472.000000 -36.000000C472.000000 67.000000,471.000000 305.000000,445.000000 554.000000C391.000000 1071.000000,258.000000 1429.000000,39.000000 1736.000000C32.000000 1745.000000,32.000000 1747.000000,32.000000 1749.000000C32.000000 1759.000000,40.000000 1759.000000,55.000000 1759.000000C71.000000 1759.000000,73.000000 1759.000000,75.000000 1757.000000C79.000000 1754.000000,206.000000 1608.000000,307.000000 1407.000000C439.000000 1143.000000,522.000000 840.000000,559.000000 476.000000C562.000000 445.000000,583.000000 237.000000,583.000000 -0.000000"></path>
    </g>
  </defs>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,0.034439 1.944763)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmex10_48"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,0.034439 30.637527)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmex10_64"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,21.952271 14.697296)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHpcrr8r_82"></use>
    <use xlink:href="#GLYPHpcrr8r_111" x="6.000092"></use>
    <use xlink:href="#GLYPHpcrr8r_119" x="12.000185"></use>
    <use xlink:href="#GLYPHpcrr8r_84" x="18.000277"></use>
    <use xlink:href="#GLYPHpcrr8r_114" x="24.000369"></use>
    <use xlink:href="#GLYPHpcrr8r_97" x="30.000462"></use>
    <use xlink:href="#GLYPHpcrr8r_110" x="36.000554"></use>
    <use xlink:href="#GLYPHpcrr8r_115" x="42.000646"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,21.952271 33.825531)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHpcrr8r_67"></use>
    <use xlink:href="#GLYPHpcrr8r_111" x="6.000092"></use>
    <use xlink:href="#GLYPHpcrr8r_108" x="12.000185"></use>
    <use xlink:href="#GLYPHpcrr8r_84" x="18.000277"></use>
    <use xlink:href="#GLYPHpcrr8r_114" x="24.000369"></use>
    <use xlink:href="#GLYPHpcrr8r_97" x="30.000462"></use>
    <use xlink:href="#GLYPHpcrr8r_110" x="36.000554"></use>
    <use xlink:href="#GLYPHpcrr8r_115" x="42.000646"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,56.223938 52.953918)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmr10_49"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,106.435791 1.944763)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmex10_49"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,106.435791 30.637527)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmex10_65"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,124.811401 33.985046)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmr10_61"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,141.637222 1.944763)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmex10_50"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,141.637222 30.637527)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmex10_52"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,160.234238 13.502075)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmr10_49"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,184.144592 13.502075)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmr10_48"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,209.648834 13.502075)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmsy10_0"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,222.046814 13.502075)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmr10_48"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,230.017075 13.502075)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmmi10_58"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,234.444931 13.502075)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmr10_53"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,160.234238 32.630478)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmr10_48"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,184.144592 32.630478)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmr10_49"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,209.648834 32.630478)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmsy10_0"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,222.046814 32.630478)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmr10_48"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,230.017075 32.630478)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmmi10_58"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,234.444931 32.630478)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmr10_53"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,160.234238 54.149109)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmr10_48"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,184.144592 54.149109)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmr10_48"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,222.046814 54.149109)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmr10_49"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,250.385147 1.944763)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmex10_51"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,250.385147 30.637527)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmex10_53"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,264.554321 33.985046)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmsy10_1"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,272.524445 33.985046)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHpcrr8r_72"></use>
    <use xlink:href="#GLYPHpcrr8r_111" x="6.000092"></use>
    <use xlink:href="#GLYPHpcrr8r_109" x="12.000185"></use>
    <use xlink:href="#GLYPHpcrr8r_77" x="18.000277"></use>
    <use xlink:href="#GLYPHpcrr8r_97" x="24.000369"></use>
    <use xlink:href="#GLYPHpcrr8r_116" x="30.000462"></use>
    <use xlink:href="#GLYPHpcrr8r_50" x="36.000554"></use>
    <use xlink:href="#GLYPHpcrr8r_68" x="42.000646"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,352.579956 33.985046)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmsy10_1"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,360.550049 1.944763)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmex10_50"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,360.550049 30.637527)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmex10_52"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,379.147095 13.502075)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmr10_49"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,403.057419 13.502075)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmr10_48"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,428.561691 13.502075)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmr10_43"></use>
    <use xlink:href="#GLYPHcmr10_48" x="7.777925"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,448.929901 13.502075)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmmi10_58"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,453.357773 13.502075)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmr10_53"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,379.147095 32.630478)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmr10_48"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,403.057419 32.630478)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmr10_49"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,428.561691 32.630478)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmr10_43"></use>
    <use xlink:href="#GLYPHcmr10_48" x="7.777925"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,448.929901 32.630478)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmmi10_58"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,453.357773 32.630478)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmr10_53"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,379.147095 54.149109)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmr10_48"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,403.057419 54.149109)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmr10_48"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,440.959625 54.149109)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmr10_49"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,469.298004 1.944763)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmex10_51"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,469.298004 30.637527)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmex10_53"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,483.467163 33.985046)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmsy10_1"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,491.437119 1.944763)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmex10_48"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,491.437119 30.637527)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmex10_64"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,513.355118 14.697296)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHpcrr8r_82"></use>
    <use xlink:href="#GLYPHpcrr8r_111" x="6.000092"></use>
    <use xlink:href="#GLYPHpcrr8r_119" x="12.000185"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,513.355118 33.825531)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHpcrr8r_67"></use>
    <use xlink:href="#GLYPHpcrr8r_111" x="6.000092"></use>
    <use xlink:href="#GLYPHpcrr8r_108" x="12.000185"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,523.716278 52.953918)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmr10_49"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,550.017807 1.944763)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmex10_49"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,550.017807 30.637527)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmex10_65"></use>
  </g>
</svg></span>
</p>Hence, <code><span data-if="hdevelop" style="display:inline">affine_trans_pixel(HomMat2D, Row, Col, RowTrans, ColTrans)</span><span data-if="c" style="display:none">affine_trans_pixel(HomMat2D, Row, Col, RowTrans, ColTrans)</span><span data-if="cpp" style="display:none">AffineTransPixel(HomMat2D, Row, Col, RowTrans, ColTrans)</span><span data-if="com" style="display:none">AffineTransPixel(HomMat2D, Row, Col, RowTrans, ColTrans)</span><span data-if="dotnet" style="display:none">AffineTransPixel(HomMat2D, Row, Col, RowTrans, ColTrans)</span><span data-if="python" style="display:none">affine_trans_pixel(HomMat2D, Row, Col, RowTrans, ColTrans)</span></code>
corresponds to the following operator sequence:
<div style="text-align:center"><table style="width:90%;margin-left:auto;margin-right:auto" class="layout">
<col span="1" style="width:90%;">
<tr><td style="text-align:left">
<a href="affine_trans_point_2d.html"><code><span data-if="hdevelop" style="display:inline">affine_trans_point_2d(HomMat2D, Row+0.5, Col+0.5, RowTmp, ColTmp)</span><span data-if="c" style="display:none">affine_trans_point_2d(HomMat2D, Row+0.5, Col+0.5, RowTmp, ColTmp)</span><span data-if="cpp" style="display:none">AffineTransPoint2d(HomMat2D, Row+0.5, Col+0.5, RowTmp, ColTmp)</span><span data-if="com" style="display:none">AffineTransPoint2d(HomMat2D, Row+0.5, Col+0.5, RowTmp, ColTmp)</span><span data-if="dotnet" style="display:none">AffineTransPoint2d(HomMat2D, Row+0.5, Col+0.5, RowTmp, ColTmp)</span><span data-if="python" style="display:none">affine_trans_point_2d(HomMat2D, Row+0.5, Col+0.5, RowTmp, ColTmp)</span></code></a>
</td></tr>
<tr><td style="text-align:left">
<code>RowTrans := RowTmp-0.5</code>
</td></tr>
<tr><td style="text-align:left">
<code>ColTrans := ColTmp-0.5</code>
</td></tr>
</table></div>
<h3>Further Information</h3>
<p>
For an explanation of the different 2D coordinate systems
used in HALCON, see the introduction of chapter
<a href="toc_transformations_2dtransformations.html">Transformations / 2D Transformations</a>.
</p>
<h2 id="sec_execution">运行信息</h2>
<ul>
  <li>多线程类型:可重入(与非独占操作符并行运行)。</li>
<li>多线程作用域:全局(可以从任何线程调用)。</li>
  
    <li>Automatically parallelized on internal data level.</li>
  
</ul>
<h2 id="sec_parameters">参数表</h2>
  <div class="par">
<div class="parhead">
<span id="HomMat2D" class="parname"><b><code><span data-if="hdevelop" style="display:inline">HomMat2D</span><span data-if="c" style="display:none">HomMat2D</span><span data-if="cpp" style="display:none">HomMat2D</span><span data-if="com" style="display:none">HomMat2D</span><span data-if="dotnet" style="display:none">homMat2D</span><span data-if="python" style="display:none">hom_mat_2d</span></code></b> (input_control)  </span><span>hom_mat2d <code>→</code> <span data-if="dotnet" style="display:none"><a href="HHomMat2D.html">HHomMat2D</a>, </span><span data-if="dotnet" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="python" style="display:none">Sequence[float]</span><span data-if="cpp" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="c" style="display:none">Htuple</span><span data-if="hdevelop" style="display:inline"> (real)</span><span data-if="dotnet" style="display:none"> (<i>double</i>)</span><span data-if="cpp" style="display:none"> (<i>double</i>)</span><span data-if="c" style="display:none"> (<i>double</i>)</span></span>
</div>
<p class="pardesc">Input transformation matrix.</p>
</div>
  <div class="par">
<div class="parhead">
<span id="Row" class="parname"><b><code><span data-if="hdevelop" style="display:inline">Row</span><span data-if="c" style="display:none">Row</span><span data-if="cpp" style="display:none">Row</span><span data-if="com" style="display:none">Row</span><span data-if="dotnet" style="display:none">row</span><span data-if="python" style="display:none">row</span></code></b> (input_control)  </span><span>point.x(-array) <code>→</code> <span data-if="dotnet" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="python" style="display:none">MaybeSequence[Union[float, int]]</span><span data-if="cpp" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="c" style="display:none">Htuple</span><span data-if="hdevelop" style="display:inline"> (real / </span><span data-if="hdevelop" style="display:inline">integer)</span><span data-if="dotnet" style="display:none"> (<i>double</i> / </span><span data-if="dotnet" style="display:none">int / </span><span data-if="dotnet" style="display:none">long)</span><span data-if="cpp" style="display:none"> (<i>double</i> / </span><span data-if="cpp" style="display:none">Hlong)</span><span data-if="c" style="display:none"> (<i>double</i> / </span><span data-if="c" style="display:none">Hlong)</span></span>
</div>
<p class="pardesc">Input pixel(s) (row coordinate).</p>
<p class="pardesc"><span class="parcat">Default:
      </span>64</p>
<p class="pardesc"><span class="parcat">Suggested values:
      </span>0, 16, 32, 64, 128, 256, 512, 1024</p>
</div>
  <div class="par">
<div class="parhead">
<span id="Col" class="parname"><b><code><span data-if="hdevelop" style="display:inline">Col</span><span data-if="c" style="display:none">Col</span><span data-if="cpp" style="display:none">Col</span><span data-if="com" style="display:none">Col</span><span data-if="dotnet" style="display:none">col</span><span data-if="python" style="display:none">col</span></code></b> (input_control)  </span><span>point.y(-array) <code>→</code> <span data-if="dotnet" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="python" style="display:none">MaybeSequence[Union[float, int]]</span><span data-if="cpp" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="c" style="display:none">Htuple</span><span data-if="hdevelop" style="display:inline"> (real / </span><span data-if="hdevelop" style="display:inline">integer)</span><span data-if="dotnet" style="display:none"> (<i>double</i> / </span><span data-if="dotnet" style="display:none">int / </span><span data-if="dotnet" style="display:none">long)</span><span data-if="cpp" style="display:none"> (<i>double</i> / </span><span data-if="cpp" style="display:none">Hlong)</span><span data-if="c" style="display:none"> (<i>double</i> / </span><span data-if="c" style="display:none">Hlong)</span></span>
</div>
<p class="pardesc">Input pixel(s) (column coordinate).</p>
<p class="pardesc"><span class="parcat">Default:
      </span>64</p>
<p class="pardesc"><span class="parcat">Suggested values:
      </span>0, 16, 32, 64, 128, 256, 512, 1024</p>
</div>
  <div class="par">
<div class="parhead">
<span id="RowTrans" class="parname"><b><code><span data-if="hdevelop" style="display:inline">RowTrans</span><span data-if="c" style="display:none">RowTrans</span><span data-if="cpp" style="display:none">RowTrans</span><span data-if="com" style="display:none">RowTrans</span><span data-if="dotnet" style="display:none">rowTrans</span><span data-if="python" style="display:none">row_trans</span></code></b> (output_control)  </span><span>point.x(-array) <code>→</code> <span data-if="dotnet" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="python" style="display:none">Sequence[float]</span><span data-if="cpp" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="c" style="display:none">Htuple</span><span data-if="hdevelop" style="display:inline"> (real)</span><span data-if="dotnet" style="display:none"> (<i>double</i>)</span><span data-if="cpp" style="display:none"> (<i>double</i>)</span><span data-if="c" style="display:none"> (<i>double</i>)</span></span>
</div>
<p class="pardesc">Output pixel(s) (row coordinate).</p>
</div>
  <div class="par">
<div class="parhead">
<span id="ColTrans" class="parname"><b><code><span data-if="hdevelop" style="display:inline">ColTrans</span><span data-if="c" style="display:none">ColTrans</span><span data-if="cpp" style="display:none">ColTrans</span><span data-if="com" style="display:none">ColTrans</span><span data-if="dotnet" style="display:none">colTrans</span><span data-if="python" style="display:none">col_trans</span></code></b> (output_control)  </span><span>point.y(-array) <code>→</code> <span data-if="dotnet" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="python" style="display:none">Sequence[float]</span><span data-if="cpp" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="c" style="display:none">Htuple</span><span data-if="hdevelop" style="display:inline"> (real)</span><span data-if="dotnet" style="display:none"> (<i>double</i>)</span><span data-if="cpp" style="display:none"> (<i>double</i>)</span><span data-if="c" style="display:none"> (<i>double</i>)</span></span>
</div>
<p class="pardesc">Output pixel(s) (column coordinate).</p>
</div>
<h2 id="sec_result">结果</h2>
<p>If the matrix <a href="#HomMat2D"><i><code><span data-if="hdevelop" style="display:inline">HomMat2D</span><span data-if="c" style="display:none">HomMat2D</span><span data-if="cpp" style="display:none">HomMat2D</span><span data-if="com" style="display:none">HomMat2D</span><span data-if="dotnet" style="display:none">homMat2D</span><span data-if="python" style="display:none">hom_mat_2d</span></code></i></a> represents an affine transformation
(i.e., not a projective transformation),
<code><span data-if="hdevelop" style="display:inline">affine_trans_pixel</span><span data-if="c" style="display:none">affine_trans_pixel</span><span data-if="cpp" style="display:none">AffineTransPixel</span><span data-if="com" style="display:none">AffineTransPixel</span><span data-if="dotnet" style="display:none">AffineTransPixel</span><span data-if="python" style="display:none">affine_trans_pixel</span></code> returns <TT>2</TT> (
      <TT>H_MSG_TRUE</TT>)
    .  Otherwise, an exception
is raised.</p>
<h2 id="sec_predecessors">可能的前置算子</h2>
<p>
<code><a href="hom_mat2d_translate.html"><span data-if="hdevelop" style="display:inline">hom_mat2d_translate</span><span data-if="c" style="display:none">hom_mat2d_translate</span><span data-if="cpp" style="display:none">HomMat2dTranslate</span><span data-if="com" style="display:none">HomMat2dTranslate</span><span data-if="dotnet" style="display:none">HomMat2dTranslate</span><span data-if="python" style="display:none">hom_mat2d_translate</span></a></code>, 
<code><a href="hom_mat2d_translate_local.html"><span data-if="hdevelop" style="display:inline">hom_mat2d_translate_local</span><span data-if="c" style="display:none">hom_mat2d_translate_local</span><span data-if="cpp" style="display:none">HomMat2dTranslateLocal</span><span data-if="com" style="display:none">HomMat2dTranslateLocal</span><span data-if="dotnet" style="display:none">HomMat2dTranslateLocal</span><span data-if="python" style="display:none">hom_mat2d_translate_local</span></a></code>, 
<code><a href="hom_mat2d_scale.html"><span data-if="hdevelop" style="display:inline">hom_mat2d_scale</span><span data-if="c" style="display:none">hom_mat2d_scale</span><span data-if="cpp" style="display:none">HomMat2dScale</span><span data-if="com" style="display:none">HomMat2dScale</span><span data-if="dotnet" style="display:none">HomMat2dScale</span><span data-if="python" style="display:none">hom_mat2d_scale</span></a></code>, 
<code><a href="hom_mat2d_scale_local.html"><span data-if="hdevelop" style="display:inline">hom_mat2d_scale_local</span><span data-if="c" style="display:none">hom_mat2d_scale_local</span><span data-if="cpp" style="display:none">HomMat2dScaleLocal</span><span data-if="com" style="display:none">HomMat2dScaleLocal</span><span data-if="dotnet" style="display:none">HomMat2dScaleLocal</span><span data-if="python" style="display:none">hom_mat2d_scale_local</span></a></code>, 
<code><a href="hom_mat2d_rotate.html"><span data-if="hdevelop" style="display:inline">hom_mat2d_rotate</span><span data-if="c" style="display:none">hom_mat2d_rotate</span><span data-if="cpp" style="display:none">HomMat2dRotate</span><span data-if="com" style="display:none">HomMat2dRotate</span><span data-if="dotnet" style="display:none">HomMat2dRotate</span><span data-if="python" style="display:none">hom_mat2d_rotate</span></a></code>, 
<code><a href="hom_mat2d_rotate_local.html"><span data-if="hdevelop" style="display:inline">hom_mat2d_rotate_local</span><span data-if="c" style="display:none">hom_mat2d_rotate_local</span><span data-if="cpp" style="display:none">HomMat2dRotateLocal</span><span data-if="com" style="display:none">HomMat2dRotateLocal</span><span data-if="dotnet" style="display:none">HomMat2dRotateLocal</span><span data-if="python" style="display:none">hom_mat2d_rotate_local</span></a></code>, 
<code><a href="hom_mat2d_slant.html"><span data-if="hdevelop" style="display:inline">hom_mat2d_slant</span><span data-if="c" style="display:none">hom_mat2d_slant</span><span data-if="cpp" style="display:none">HomMat2dSlant</span><span data-if="com" style="display:none">HomMat2dSlant</span><span data-if="dotnet" style="display:none">HomMat2dSlant</span><span data-if="python" style="display:none">hom_mat2d_slant</span></a></code>, 
<code><a href="hom_mat2d_slant_local.html"><span data-if="hdevelop" style="display:inline">hom_mat2d_slant_local</span><span data-if="c" style="display:none">hom_mat2d_slant_local</span><span data-if="cpp" style="display:none">HomMat2dSlantLocal</span><span data-if="com" style="display:none">HomMat2dSlantLocal</span><span data-if="dotnet" style="display:none">HomMat2dSlantLocal</span><span data-if="python" style="display:none">hom_mat2d_slant_local</span></a></code>, 
<code><a href="hom_mat2d_reflect.html"><span data-if="hdevelop" style="display:inline">hom_mat2d_reflect</span><span data-if="c" style="display:none">hom_mat2d_reflect</span><span data-if="cpp" style="display:none">HomMat2dReflect</span><span data-if="com" style="display:none">HomMat2dReflect</span><span data-if="dotnet" style="display:none">HomMat2dReflect</span><span data-if="python" style="display:none">hom_mat2d_reflect</span></a></code>, 
<code><a href="hom_mat2d_reflect_local.html"><span data-if="hdevelop" style="display:inline">hom_mat2d_reflect_local</span><span data-if="c" style="display:none">hom_mat2d_reflect_local</span><span data-if="cpp" style="display:none">HomMat2dReflectLocal</span><span data-if="com" style="display:none">HomMat2dReflectLocal</span><span data-if="dotnet" style="display:none">HomMat2dReflectLocal</span><span data-if="python" style="display:none">hom_mat2d_reflect_local</span></a></code>
</p>
<h2 id="sec_alternatives">可替代算子</h2>
<p>
<code><a href="affine_trans_point_2d.html"><span data-if="hdevelop" style="display:inline">affine_trans_point_2d</span><span data-if="c" style="display:none">affine_trans_point_2d</span><span data-if="cpp" style="display:none">AffineTransPoint2d</span><span data-if="com" style="display:none">AffineTransPoint2d</span><span data-if="dotnet" style="display:none">AffineTransPoint2d</span><span data-if="python" style="display:none">affine_trans_point_2d</span></a></code>
</p>
<h2 id="sec_module">模块</h2>
<p>
Foundation</p>
<!--OP_REF_FOOTER_START-->
<hr>
<div class="indexlink">
<a href="index_classes.html"><span data-if="dotnet" style="display:none;">类别</span><span data-if="cpp" style="display:none;">类别</span></a><span data-if="dotnet" style="display:none;"> | </span><span data-if="cpp" style="display:none;"> | </span><a href="index_by_name.html">算子列表</a>
</div>
<div class="footer">
<div class="copyright">HALCON算子参考手册 Copyright © 2015-2023 51Halcon</div>
</div>
</div>
</body>
</html>
